package Z002BianLiang;


 class BLFinal {
     public static void main(String[] args) {
         BLlainxi l = new BLlainxi();
         l.method1(6);

     }

     class BLShengMing{

         void method1(){
             final int i = 1;

             // i = 10 ;
             // i在第4行已经被赋值过了，所以这里会出现编译错误
         }
     }

     class BLXshengHfu{
         public void method2(){
             final int i ;
            //如果在声明的时候未赋值，
             // 那么可以在后面代码进行唯一的一次赋值
             i = 10;
             // i = 20;
         }
     }

class BLTest {
 int i = 5;
        public void method(final int j) {
     System.out.println(j);
 }
        // final 除了修饰变量，还可以修饰类，修饰方法，
             }

}


/**
自我理解：final 修饰的变量不能在被修改 

定义一个变量有两个步骤：1.初始化 2.赋值



定义final 变量，若初始化没有赋值，则只可进行一次赋值，

class Test{
    public static void main(String[] args) {
    fianl int a ;   报错
    }
}

即使赋予相同的值也会报错

class Test{
    public static void main(String[] args) {
    final int a = 0;
    final int a = 0;  二次赋值依然报错
}}

测试了会报错
必须定义且赋值




成员变量，定义时可以暂时不赋值，但是必须一定要赋值，否则报错
对象创建好之后一定要有值，否则报错


被 static 修饰的成员变量 且有 final 静态成员可称为全局变量，
在类的运行期间都不会被改变

从成员变量与局部变量
变量为基本数据类型时，变量的值不可以改变，
变量为引用类型时，引用不可改变，更改引用（但是，若引用的时数组等，数组的内容是可以改变的）



*/
